const express = require('express')
const formidable = require('formidable')
const app = express()
const port = 3000


// 添加处理post请求的json格式数据的中间件
app.use(express.json())

// 添加处理post请求的原生表单数据格式的中间件
app.use(express.urlencoded({extended: true}))


app.get('/', (req, res) => {
  res.send('itcast')
})

app.get('/books', (req, res) => {
  if(req.query.id) {
    // TODO:查询这个id是否
    res.send(`返回id为${req.query.id}的书籍信息`)
  } else {
    res.send('返回所有书籍列表')
  }
})
app.get('/books/:id', (req, res) => {
  if(req.params.id) {
    // TODO:查询这个id是否
    res.send(`返回id为${req.params.id}的书籍信息`)
  } else {
    res.send('返回所有书籍列表')
  }
})

app.post('/books', (req, res) => {
  // 拿到用户传递过来的书籍数据
  console.log(req.body);
  res.send('post')
})

app.post('/upload', (req, res) => {
  const form = formidable({});

  form.parse(req, (err, fields, files) => {
    if (err) {
      next(err);
      return;
    }
    // fields放的是非文件的form data数据
    // files放的是文件的form data数据
    console.log(fields, files);
    res.json({ fields, files });
  });
})


app.listen(port, () => console.log(`Example app listening on port ${port}!`))